#ifndef __TGRXCLASS_H__
#define __TGRXCLASS_H__

#if _MSC_VER > 1000
#pragma once
#endif

class TGRX_API TGRxClass : public TGRxObject  
{
	TGRX_DECLARE_MEMBERS(TGRxClass)

public:

    virtual TGRxObject* addX(TGRxClass* pRxClass, TGRxObject* pRxObject) = 0;
    virtual TGRxObject* getX(TGRxClass* pRxClass) = 0;
    virtual TGRxObject* delX(TGRxClass* pRxClass) = 0;
    virtual TGRxObject* queryX(TGRxClass* pProtocolClass) = 0;
	
    virtual TGRxObject* create() = 0;
    virtual const char* appName() const = 0;
    virtual const char* name() const = 0;
    virtual void        getClassVersion(int& dwgVer,int& maintVer) const = 0;
    virtual int         proxyFlags() const = 0;
	
    virtual BOOL		isDerivedFrom(const TGRxClass*) const = 0;
    virtual TGRxClass*  myParent() const = 0;
};

#endif // __TGRXCLASS_H__
